The IoT has extended the internet connectivity to reach not just computers and humans, but most of our environment things by having the potential to connect billions of objects simultaneously. The IoT improves information sharing needs that result in improving lives, but the IoT benefits are unlimited, there are many challenges facing adopting the IoT in the real world due to its centralized server/client model. For instance, scalability and security issues that arise due to the excessive numbers of IoT objects in the network; the server/client model requires all devices to be connected and authenticated through the server creating a single point of failure. Therefore, moving the IoT system into the decentralized path may be the right decision because IoT empowers any “Thing” to connect and communicate. Thereby, converting the physical world into a vast information system where several technologies, such as Cloud Computing, Machine Learning to Data Analysis, and Information Modeling, are quickly becoming an integral part of IoT fabric. One of the prevalent decentralization systems is blockchain because it is a powerful technology that decentralizes computation and management processes by solving various IoT issues in security.
Existing IoT systems are built on a centralized server/client model, which involves all devices to be connected and authenticated through the server. A blockchain is a distributed database of records, such as distributed ledger which contains all transactions that have been executed and shared among participating parties in the network. But, a deficiency of fundamental security measures makes IoT vulnerable to privacy and security threats with its “security by design,” blockchain can help in addressing major security requirements in IoT (Atlam et al., 2018).
Each transaction is stored in the distributed ledger and must be verified by the consent of most participants in the network where all transactions that have ever made are contained in the Blockchain. The decentralization model of the blockchain will have the capability to handle processing of billions of transactions between IoT devices, which will significantly reduce the costs associated with installing and maintaining large centralized data centers and will distribute computation and storage needs across the billions of devices that form IoT networks. In addition, working with the blockchain technology will eliminate the single point of failure associated with the centralized IoT architecture. Furthermore, integrating blockchain with IoT will allow the peer-to-peer messaging, file distribution and autonomous coordination between IoT devices with no need for the centralized server-client model.
Mostly, in centralized IoT architecture, the IoT is the connection and communication of different devices over the Internet. These devices are composed of networking nodes whether serves or computer which are connected to share their data. All devices are provided with sensors, which collect data that can be transmitted, stored, analyzed, and presented in a useful way.
The current IoT architecture is built as a centralized model which is known as a server/client model. In this model, all devices cannot talk to each other but talk to a centralized gateway instead. The centralized model has used to connect a wide range of computing devices for many years and will continue to support small-scale IoT networks, however, it will not be capable of providing the needs to extend the IoT system in the future. In addition, the centralized model is vulnerable to data manipulation. Collecting real-time data does not ensure that the information is put to good and appropriate use.
A decentralized approach for the IoT would solve many of these issues. One of the popular decentralization techniques is blockchain. blockchain technology provides an efficient way of recording transactions or any digital interaction in a way that makes it secure, transparent, highly resistant to outages, auditable.
A blockchain consists of two main elements transactions and blocks. Transactions are the actions generated by the participants in the system. Blocks record the transactions and make sure they are in the correct sequence and have not been tampered with. The blockchain has many features that make it very attractive for the IoT to solve many of its issues.
Blockchain characteristics include immutability: Building immutable ledgers is one of the key values of the blockchain. All centralized databases can be corrupted and commonly requires trust in a third party to keep information integrity. Once you have agreed on a transaction and recorded it, it can never be changed.
Decentralization: The lack of centralized control ensures scalability and robustness by using resources of all participating nodes and eliminating many-to-one traffic flows, which in turn decreases latency and solve the problem of single point of failure that exists in the centralized model. Anonymity: The anonymity provides an efficient way of hiding the identity of users and keeps their identities private. Better Security: blockchain provides better security because there is no single point of failure to shut down the entire network.
Increased Capacity: One of the significant things about blockchain technology is that it can increase the capacity of an entire network. Having thousands of computers working together as a whole can have greater power than a few centralized servers.
The blockchain is generally a database that stores all the transactions in blocks. When a new transaction is created, the sender broadcasts it to the Peer-to-Peer communication channel to all other nodes in the network. The transaction is still new and not verified. When the nodes receive the transaction, they validate it and keep it in their ledger.
When a new block is created, it is time-stamped and propagated to all network nodes. Every node receives the block, validates it, validates the transactions, and adds the block to his ledger. When most nodes accepted the block, it becomes authorized and non-reversible part of the blockchain. In addition to transactions, every block stores some metadata and the hash value of the previous block. So, every block has a pointer to its parent block. That is how the blocks are linked, creating a chain of blocks called blockchain. The distributed ledger is available for everyone in the network to check the blocks and the transactions within. However, the users stay anonymous, they only identified by their public key as an address.
Moreover, the transactions are encrypted. Invalid transactions are rejected and are not included in the blocks. Malicious attempt to make a change in the transactions will require repeated calculation of the proof of work for the attached block and all the blocks afterward. These calculations are infeasible unless most of the nodes in the network are malicious.
blockchain with an IoT is an interesting developing system that provides unlimited benefits, but there are many challenges with the current centralized IoT architecture such that all devices are identified, authenticated and connected through the centralized servers. This model was used to connect a wide range of computing devices for many years and will continue to support small-scale IoT networks, however, it will not be capable of providing the needs to extend the IoT system in the future.
The IoT has unlimited benefits and adopting a decentralized approach for the IoT would solve many issues especially security. Adopting a standardized peer-to-peer communication model to process the hundreds of billions of transactions between devices will significantly reduce the costs associated with installing and maintaining large centralized data centers and will distribute computation and storage needs across the billions of devices that form IoT networks. This will prevent failure in any single node in a network from bringing the entire network to a halting collapse.
However, establishing peer-to-peer communications will present its own set of challenges especially security. IoT security is much more than just about protecting sensitive data. Therefore, the blockchain solutions will have to maintain privacy and security in IoT networks and use validation and consent of participants for transactions to prevent spoofing and theft. In addition, blockchain technology is considered the key solutions to solve privacy and reliability issues in the IoT. It can be used in tracking billions of connected devices, enabling the processing of transactions and coordination between devices; this allows for significant savings for IoT industry manufacturers.
Moreover, this decentralized approach would eliminate single points of failure, creating a more resilient system for devices to run on. The cryptographic algorithms used by blockchains would make consumer data more private. In an IoT network, the blockchain can keep an immutable record of the history of smart devices. This feature enables the autonomous functioning of smart devices without the need for centralized authority.
The blockchain may treat message exchanges between devices similar to financial transactions in a bitcoin network. To enable message exchanges, devices will leverage smart contracts which then model the agreement between the two parties. One of the most exciting capabilities of the blockchain is the ability to maintain a duly decentralized, trusted ledger of all transactions occurring in a network. This capability is essential to enable the many compliances and regulatory requirements of industrial IoT applications without the need to rely on a centralized model.
There are many benefits of adopting blockchain with IoT. These benefits can be summarized as follows:
Publicity: All participants can see all the transactions and all blocks as each participant has its own ledger. The content of the transaction is protected by the participant's private key, so even all participants can see them, they are protected. The IoT is a dynamic system in which all connected devices can share information together and at the same time protecting users' privacy. Decentralization: Most participants must verify the transactions in order to approve it and add it to the distributed ledger. There is no single authority that can approve the transactions or set specific rules to have transactions accepted. Therefore, there is a massive amount of trust included since most of the participants in the network must reach an agreement to validate transactions. Therefore, the blockchain will provide a secure platform for IoT devices. In addition, eliminating centralized traffic flows and a single point of failure of the current centralized IoT architecture. Resiliency: Each node has its own copy of the ledger that contains all transactions that have ever made in the network. So, the blockchain is better able to withstand attack. Even if one node was compromised, the blockchain would be maintained by every other node. Having a copy of the data at each node in the IoT will improve information sharing needs. However, it introduces new processing and storage issues. Security: blockchain can provide a secure network over untrusted parties which is needed in IoT with numerous and heterogeneous devices. In other words, all IoT network nodes must be malicious to perform an attack. Speed: a blockchain transaction is distributed across the network in minutes and will be processed at any time throughout the day. Cost saving: Existing IoT solutions are expensive because of the high infrastructure and maintenance cost associated with centralized architecture, large server farms, and networking equipment. The total amount of communications that will have to be handled when there are tens of billions of IoT devices will increase those costs substantially. Immutability: Having an immutable ledger is one of the main advantages of blockchain technology. Any changes in the distributed ledger must be verified by most of the network nodes. Therefore, the transactions cannot be altered or deleted easily. Having an immutable ledger for IoT data will increase security and privacy which are the major challenges in this technology and all new technologies. Anonymity: To process the transaction, both buyer and seller use anonymous and unique address numbers which keep their identity private. This feature has been criticized as it increases the use of cryptocurrencies in the illegal online market. However, it could be an advantage if used for other purposes, for example, electoral voting systems.
There is no doubt that integrating blockchain would have many advantages. However, blockchain technology is not a perfect model which has its own flaws and challenges. These challenges can be summarized as follow:
Scalability: Scalability issues in the blockchain might lead to centralization, which is casting a shadow over the future of the cryptocurrency. The blockchain scales poorly as the number of nodes in the network increases. This issue is serious as IoT networks are expected to contain many nodes. Processing Power and Time: The processing power and time needed to achieve encryption for all the objects included in a blockchain system. IoT systems have different types of devices which have very different computing capabilities, and not all of them will be able to run the same encryption algorithms at the required speed. Storage: One of the main benefits of blockchain is that it eliminates the need for a central server to store transactions and device IDs, but the ledger must be stored on the nodes themselves. The distributed ledger will increase in size as time passes and with an increasing number of nodes in the network. As said earlier, IoT devices have low computational resources and very low storage capacity. Lack of skills: blockchain technology is still new. Therefore, a few people have large knowledge and skills about the blockchain, especially in banking. In other applications, there is a widespread lack of understanding of how the blockchain works. The IoT devices exist everywhere, so adopting the blockchain with IoT will be very difficult without public awareness about the Blockchain. Legal and Compliance: The blockchain is a new technology that will have the ability to connect different people from different countries without having any legal or compliance code to follow, which is a serious issue for both manufacturers and service providers. This challenge will be the major barrier to adopting blockchain in many businesses and applications.
Naming and Discovery: The blockchain technology has not been designed for the IoT, meaning that nodes were not meant to find each other in the network. An example is the Bitcoin application in which the IP addresses of some “senders” are embedded within the Bitcoin client and used by nodes to build the network topology. This approach will not work for the IoT as IoT devices will keep moving all the time which will change the topology continuously.
Smart contracts are scripts stored on the blockchain. They are so powerful because of their flexibility. They can encrypt and store data securely, restrict access to data to only the desired parties and then be programmed to utilize the data within a self-executing logical workflow of operations between parties. Smart contracts translate business process into the computational process, greatly improving operational efficiency. Using smart contracts within the IoT systems will provide an efficient way to improve security and Integrity of IoT data.
Regulatory Laws are the procedures created by authorities and local administrative agencies to define legal ways of working with a product or technology within a certain country or region. As said earlier, the blockchain is a new technology which has not any legal or compliance code to follow.
Integrating blockchain with IoT can improve security as it uses use consent of most participants to validate transactions to prevent spoofing and theft. However, IoT devices have low computational resources and storage space that cannot be able to process cryptographic algorithms.
Today, IoT accounts for 5 billion connected devices, and this number will continue to grow and reach 29 billion by 2022 (Panarello et al., 2018). Every device produces and exchanges data on the Internet. In an IoT network, each node is a possible point of failure that can be exploited to launch cyber-attacks such as Distributed Denial-of-Service (DDoS). A system of nodes with several infected devices, acting simultaneously, can collapse quickly. Another concern regards its centralized configuration (typically IoT environment leverages on a central cloud service provider).
Such a central point of failure is a vulnerability, which must be addressed. Another constant and probably one of the most critical threat is data confidentiality and authentication. In the absence of data security, IoT data can be exploited and inappropriately used.
Another challenge for IoT is data integrity. One of the significant applications of IoT is in decision support systems. The data aggregated from the fleet of sensors can be utilized in making timely decisions. Thus, it is essential to protect the system from injection attacks, which try to inject false measures and therefore, affect decision-making. Availability is critical for automated systems like vehicular networks, manufacturing industries, and smart grids which are processing real-time information. Sensor downtime can result in losses varying from monetary to life-threatening situations.
The primary goal of the blockchain is to free people from any form of trust we are now forced to give to intermediaries who regulate and manage a large part of citizens' life. The blockchain is a technology that initially was used to promote commercial transactions (trades) through a new currency that is independent of banks and States, called Bitcoin. This currency is digital, and it is used as a means of exchange accepted by the users involved in a transaction. The strength of this currency or more specifically cryptocurrency is that there is no need for a public authority.
To achieve such a goal, several technologies, and security and cryptographic functions have been exploited. The synergy among these all technologies constitutes the blockchain. People often confuse BC with Bitcoin, but Bitcoin indicates a cryptocurrency that leverages the BC technology to be able to freely and globally circulate without the supervision of a central guarantor (the banks). In other words, Bitcoin is only a financial use case that makes use of this powerful technology.
The blockchain is merely a distributed database system based on consensus rules that allow the transfer of value between entities. There are many distributed systems based on consensus algorithms, but the blockchain is the only one that simultaneously enjoys the following three properties (i) trustless: There is no need to own a certified digital identity.
The involved entities do not know each other, but they can anyhow exchange data without having to know their respective identities, (ii) permissionless: Nobody decides who can or cannot operate on the blockchain network. There are neither permissions nor controllers and (iii) censorship resistant: BC being a network without controllers, where entities trust only the quality of the cryptographic algorithms that govern the operation, anyone can transact on the Blockchain. A transaction, once sent and accepted, cannot be stopped or censored.
Blockchain can be categorized into two types based on its functioning: permissionless and permissioned. A permissioned blockchain limits the actors who can participate in the consensus of the system state. In a permissioned Blockchain, only a limited selection of users has the rights to validate the transactions. It may also restrict access to approved actors who can create smart contracts. On the other hand, permissionless blockchain allows anyone to join the network, participate in the process of block verification to reach a consensus and create smart contracts.